FIG. 1 shows a histogram representing a dataset.
As shown, the histogram comprises an x axis and two y axes 101 and 102. Arranged along the x axis area series of bars 110, 111, 112, 113, 114, 115, 116, 117.
Histograms such as that shown in FIG. 1 are a common way to represent the content of a dataset, in a variety in different contexts. For example, the data may be a two dimensional image. In this context, the first ordinate axis 101 may represent a number of pixels, and the abscussa may reflect pixel intensity, so that each of the bars represents the number of pixels in the image in a particular intensity range.
Another example may be the representation of a three dimensional volume, for example defined in terms of a collection of voxels, each having a characteristic density or opacity, such that the x axis may reflect voxel density or opacity, so that each of the bars represents the number of voxels in the volume in a particular density or opacity range.
Volumetric datasets are found in many fields, such as engineering, material sciences, medical imaging, astrophysics. The exploration of volumetric datasets is not trivial, and is heavily impacted by the specific needs of users. In most airports for example, security agents deal with such data exploration in the context of baggage inspections. X-ray and tomography are two commonly used fluoroscopic scanning systems. X-ray systems provide a flattened 2D luggage scan while tomography systems produce transversal scans, also called slices. Thanks to data processing techniques such as the Radon transform, these systems can produce a full 3D scan, comprising a set of voxels with corresponding density data. Since the resulting X-ray scanned image only contains voxel or pixel densities, it cannot display the original material colours. The standard colour visual mapping uses three different colours (orange, green, and blue) to display the data density. Orange colour corresponds to low density (mainly organic items). In opposition, blue colour is used for high density values (i.e. metal). In the case of X-ray systems, green colour corresponds to the superposition of different kinds of materials or average density materials.
There are of course countless other applications of representations of this kind.
It is furthermore common to combine representations of the kind shown with a filter function. As shown in FIG. 1, the second Y axis 102 may represent a weighting to be applied to the bars at different positions on the x axis. As shown in FIG. 1, a flat line 120 represents a 100% weighting to all bars equally.
FIG. 2 shows a histogram representing a weighted dataset.
FIG. 2 shows a histogram similar to that of FIG. 1, however in this case the line 220 representing the weighting, filter or transfer function while 100% for bars to the left of the x axis, falls to zero for bars to the right of the x axis. Along the x axis are a series of bars 210, 211, 212, 213, 214, 215, 216, 217, which may be compared to the bars 110, 111, 112, 113, 114, 115, 116, 117 of FIG. 1, where it will be noted that while bars 210, 211, 212 are identical to bars 110, 111, 112, bars 213, 214, 215, 216 and 217 are increasingly attenuated as they approach the right of the x axis, and the filter function 220 falls away to zero.
In some cases, the transfer curve may map the voxel density with a specific colour (including its transparency). The transfer function can be 1, 2 n dimensional and can be of great help to isolate structures of interest in the data. Thanks to the colour blending process, suitable transfer function can also reveal iso surfaces, that is, surfaces that represent points of a constant value, or hide density to improve the data visualization.
It will be appreciated that where a filter is applied to the histogram in this way, a corresponding filter can be applied to the original data, which when displayed in graphical form will exhibit a corresponding shift in appearance. The possibility of imposing subtle shifts in the representation in this way on the basis of the underlying properties of the data (for example density, opacity, intensity, etc.) can be used to highlight or suppress certain parts of the dataset. This may in turn make it easier to interpret the dataset, to identify formations therein, and so on.
It is common to enable a user to manually adjust the transfer curve 220, by direct interaction through a user interface. For example, the curve may be defined as a composite bezier curve, which the user can modify by adding or moving control points.
A drawback of such approaches is that even a small modification to the curve can have a dramatic influence on the histogram and the corresponding representation of the dataset, making this approach generally somewhat clumsy.
Accordingly, it is desired to provide a more subtle and intuitive mechanism for adjusting curves.